package com.liang.mianshi;

public class Single2 {//懒汉式：延迟加载，调用方法才创建对象，存在线程安全问题
	private Single2() {}
	private static Single2 instance;
	public static Single2 getSingle2() {
		if(instance==null) {//3.再一次判断优化jvm效率，要不每一个来都锁
			synchronized(Single2.class) {//2.加锁保证了线程安全
				if(instance==null) {//1.开多个线程调用会概率同时进入这个方法，到时返回就不是单例
					try {
						Thread.sleep(10000);
						instance=new Single2();
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		}
		return instance;
	}
}
